using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;

namespace Microsoft.Office.Project.EPMSync.Config.Library
{
    public delegate bool GetSyncNowCallback();
    public delegate void SetSyncNowCallback(bool SyncNow);

    // Define custom commands for the SyncService.
    public enum SimpleServiceCustomCommand { StopWorker = 128, RestartWorker, CheckWorker, ExecuteSyncNow };

    [StructLayout(LayoutKind.Sequential)]
    public struct ServiceStatus
    {
        public int serviceType;
        public int currentState;
        public int controlsAccepted;
        public int win32ExitCode;
        public int serviceSpecificExitCode;
        public int checkPoint;
        public int waitHint;
    }

    public enum ServiceState
    {
        Stopped = 0x00000001,
        StartPending = 0x00000002,
        StopPending = 0x00000003,
        Running = 0x00000004,
        ContinuePending = 0x00000005,
        PausePending = 0x00000006,
        Paused = 0x00000007,
    }

    public enum ChangeState
    {
        Unknown,
        Detected,
        Pending,
        SentToProjectSever,
        PSUpdateComplete,
        RemoveFromList,
        Error,
        MoveToArchive
    }


}
